package cn.source.zk.service;

import cn.source.zk.domain.dto.*;
import cn.source.zk.domain.entity.*;
import cn.source.zk.domain.vo.DbAggDataVO;

import java.util.List;
import java.util.Map;

public interface IDbBaseDataService {

    /**
     * 查询平均值
     * @param baseDataQueryDTO
     * @return
     */
    List<Map<String, Object>> selectByDateAverage(BaseDataQueryDTO baseDataQueryDTO);

    /**
     * 查询最大值
     * @param baseDataQueryDTO
     * @return
     */
    List<Map<String, Object>> selectByDateMax(BaseDataQueryDTO baseDataQueryDTO);

    /**
     * 查询最小值
     * @param baseDataQueryDTO
     * @return
     */
    List<Map<String, Object>> selectByDateMin(BaseDataQueryDTO baseDataQueryDTO);

    /**
     * 查询出两个小时内没有更新的通道；
     */
    List<BaseData> checkBaseData();

    /**
     * 获取BaseData数据
     * @return
     */
    List<DbBaseData> getBaseDataList(BaseData2TableDTO baseData2TableDTO);

    List<DbAggDataVO> getAggData(DbAllIndicatorsDTO dbAllIndicatorsDTO);

    /**
     * 获取DBIhra数据
     * @param baseData2TableDTO
     * @return
     */
    List<DBIhra> getDbIhra(BaseData2TableDTO baseData2TableDTO);


    List<DBIhrb> getDbIhrb(BaseData2TableDTO baseData2TableDTO);

    List<DBIhrc> getDbIhrc(BaseData2TableDTO baseData2TableDTO);

    List<DBIhrja> getDbIhrja(BaseData2TableDTO baseData2TableDTO);

    List<DBIhrjb> getDbIhrjb(BaseData2TableDTO baseData2TableDTO);

    List<DBIhrjc> getDbIhrjc(BaseData2TableDTO baseData2TableDTO);

    List<DBUhra> getDbUhra(BaseData2TableDTO baseData2TableDTO);

    List<DBUhrb> getDbUhrb(BaseData2TableDTO baseData2TableDTO);

    List<DBUhrc> getDbUhrc(BaseData2TableDTO baseData2TableDTO);

    List<DBUhrja> getDbUhrja(BaseData2TableDTO baseData2TableDTO);

    List<DBUhrjb> getDbUhrjb(BaseData2TableDTO baseData2TableDTO);

    List<DBUhrjc> getDbUhrjc(BaseData2TableDTO baseData2TableDTO);

    List<DBIhrDTO> getDbIhr(BaseData2TableDTO baseData2TableDTO);

    List<DBIhrjDTO> getDbIhrj(BaseData2TableDTO baseData2TableDTO);

    List<DBUhrDTO> getDbUhr(BaseData2TableDTO baseData2TableDTO);

    List<DBUhrjDTO> getDbUhrj(BaseData2TableDTO baseData2TableDTO);
}
